Process control systems, like those used in chemical, petroleum or other processes, typically include one or more process controllers communicatively coupled to one or more field devices via analog, digital or combined analog/digital buses. The field devices, which may be, for example, valves, valve positioners, switches and transmitters (e.g., temperature, pressure and flow rate sensors), perform process control functions within the process such as opening or closing valves and measuring process control parameters. The process controllers receive signals indicative of process measurements made by the field devices and then process this information to generate control signals to implement control routines, and to otherwise manage the operation of the process control system.
Many industries now implement process control systems with the use of digital control and communications between field devices, controllers, and other elements of a process control system. With the rise of digital control and communications, a number of standard digital as well as combined analog and digital open communication protocols have been developed to facilitate the communications between field devices and controllers. Some of the protocols utilize a basic building block or software construct commonly referred to as a function block.
In general, function blocks are programs that, when executed, perform one or more algorithms or sequences of operation relevant to a process control system for which a process engineer has configured the function blocks. There are many types of function blocks, each of which generally performs a specific portion of a process control routine. Typically, function blocks implement input, control, output, as well as other functions within a process control system and can be downloaded and instantiated within controllers and/or field devices distributed throughout a process control system.
For example, an analog input (AI) function block may be instantiated within a sensor or transmitter configured to measure a parameter (e.g., temperature, strain, flow, etc.), and an analog voter (AVTR) function block may be instantiated within a controller, which may be in communication with the sensor or transmitter performing the AI function block to compare the analog input to a configured trip limit to determine whether an appropriate response should be tripped and implemented based on the comparison. An AVTR function block is called a “voter” block because it can receive multiple inputs that may be compared with the configured trip limit, where each comparison constitutes one vote. If an input exceeds the configured trip limit, the AVTR function block counts that event as a vote to set the output to Tripped. If the required number of inputs “vote” to trip, the output of the AVTR function block goes to a tripped value.
Many other types of function blocks can be instantiated within field devices and controllers and interlinked via communication media in a similar manner to perform almost any desired function of a process control scheme.